//学习git

zcw@zcw:~$ mkdir testgit
zcw@zcw:~$ ls
公共  模板  视频  图片  文档  下载  音乐  桌面  build  snap  testgit  test.txt
zcw@zcw:~$ cd testgit
zcw@zcw:~/testgit$ ls
zcw@zcw:~/testgit$ ls -a
.  ..
zcw@zcw:~/testgit$ git init
提示：使用 'master' 作为初始分支的名称。这个默认分支名称可能会更改。要在新仓库中
提示：配置使用初始分支名，并消除这条警告，请执行：
提示：
提示：	git config --global init.defaultBranch <名称>
提示：
提示：除了 'master' 之外，通常选定的名字有 'main'、'trunk' 和 'development'。
提示：可以通过以下命令重命名刚创建的分支：
提示：
提示：	git branch -m <name>
已初始化空的 Git 仓库于 /home/zcw/testgit/.git/
zcw@zcw:~/testgit$ ls -a
.  ..  .git
zcw@zcw:~/testgit$ touch hello.c
zcw@zcw:~/testgit$ ls
hello.c
zcw@zcw:~/testgit$ git add .
zcw@zcw:~/testgit$ ls
hello.c
zcw@zcw:~/testgit$ git commit -m "add a empty file"
作者身份未知

*** 请告诉我您是谁。

运行

  git config --global user.email "you@example.com"
  git config --global user.name "Your Name"

来设置您账号的缺省身份标识。
如果仅在本仓库设置身份标识，则省略 --global 参数。

fatal: 无法自动探测邮件地址（得到 'zcw@zcw.(none)'）
zcw@zcw:~/testgit$ git config --global user.name "zcw"
zcw@zcw:~/testgit$ git commit -m "add a empty file"
作者身份未知

*** 请告诉我您是谁。

运行

  git config --global user.email "you@example.com"
  git config --global user.name "Your Name"

来设置您账号的缺省身份标识。
如果仅在本仓库设置身份标识，则省略 --global 参数。

fatal: 无法自动探测邮件地址（得到 'zcw@zcw.(none)'）
zcw@zcw:~/testgit$ who
zcw      seat0        2024-09-12 15:29 (login screen)
zcw      tty2         2024-09-12 15:29 (tty2)
zcw@zcw:~/testgit$ git status
位于分支 master

尚无提交

要提交的变更：
  （使用 "git rm --cached <文件>..." 以取消暂存）
	新文件：   hello.c

zcw@zcw:~/testgit$ vim hello.c
zcw@zcw:~/testgit$ gcc hello.c
zcw@zcw:~/testgit$ ls
a.out  hello.c
zcw@zcw:~/testgit$ ./a.out
zcw@zcw:~/testgit$ ech $?
找不到命令 “ech”，您的意思是：
  “ecj” 命令来自 Debian 软件包 ecj (3.32.0+eclipse4.26-2)
  “bch” 命令来自 Debian 软件包 bikeshed (1.78-0ubuntu1)
  “ecl” 命令来自 Debian 软件包 ecl (21.2.1+ds-4)
  “ecm” 命令来自 Debian 软件包 gmp-ecm (7.0.5+ds-1)
  “dch” 命令来自 Debian 软件包 devscripts (2.23.7)
  “echo” 命令来自 Debian 软件包 coreutils (9.4-2ubuntu2)
尝试 sudo apt install <deb name>
zcw@zcw:~/testgit$ echo $?
127
zcw@zcw:~/testgit$ ./a.out
zcw@zcw:~/testgit$ echo $?
0
zcw@zcw:~/testgit$ vim hello.c
zcw@zcw:~/testgit$ gcc hello.c
zcw@zcw:~/testgit$ ./a.out
hello
zcw@zcw:~/testgit$ git add ,
fatal: 路径规格 ',' 未匹配任何文件
zcw@zcw:~/testgit$ git add.
git：'add.' 不是一个 git 命令。参见 'git --help'。

最相似的命令是
	add
zcw@zcw:~/testgit$ git add .
zcw@zcw:~/testgit$ git load
git：'load' 不是一个 git 命令。参见 'git --help'。

最相似的命令是
	clean
	clone
	log
zcw@zcw:~/testgit$ git log
fatal: 您的当前分支 'master' 尚无任何提交
zcw@zcw:~/testgit$ git config user.email "3495602139@qq.com"
zcw@zcw:~/testgit$ git commit -m "finish hello programe"
[master （根提交） 4abbed9] finish hello programe
 2 files changed, 5 insertions(+)
 create mode 100755 a.out
 create mode 100644 hello.c
zcw@zcw:~/testgit$ git log
commit 4abbed97e65ec63150f58d7b5f9bb79a889128c8 (HEAD -> master)
Author: zcw <3495602139@qq.com>
Date:   Thu Sep 12 15:48:20 2024 +0800

    finish hello programe

     vimtutor //学习插件
//显示内容
     zcw@zcw:~$ cd bestidiocs2024
zcw@zcw:~/bestidiocs2024$ ls
c  docs  LICENSE  README.en.md  README.md  sh
zcw@zcw:~/bestidiocs2024$ cd c
zcw@zcw:~/bestidiocs2024/c$ ls
a.out  car.c  hello.c  hello.ouy  lib  make  project  test.c  testgdb.c
zcw@zcw:~/bestidiocs2024/c$ indent hello.c
zcw@zcw:~/bestidiocs2024/c$ cat hello.c
#include <stdio.h>
int
main ()
{
  printf ("hello world!\n");
  return 0;
}

//编译文件
zcw@zcw:~/bestidiocs2024/c$ gcc -E hello.c -o hello.i
zcw@zcw:~/bestidiocs2024/c$ gcc -S hello.c -o hello.s
zcw@zcw:~/bestidiocs2024/c$ gcc -c hello.s -o hello.o
zcw@zcw:~/bestidiocs2024/c$ file hello.i
hello.i: C source, ASCII text
zcw@zcw:~/bestidiocs2024/c$ file hello.s
hello.s: assembler source, ASCII text
zcw@zcw:~/bestidiocs2024/c$ file hello.o
hello.o: ELF 64-bit LSB relocatable, x86-64, version 1 (SYSV), not stripped
zcw@zcw:~/bestidiocs2024/c$ cat hello.o
��UH��H�H����]�hello world!GCC: (Ubuntu 13.2.0-23ubuntu4) 13.2.0GNU�zRx
U                                                                     E�C
��	hello.cmainputs
                       ���������������� .symtab.strtab.shstrtab.rela.text.data.bss.rodata.comment.note.GNU-stack.note.gnu.property.rela.eh_frame @�0
90k'B�R�j�e@�            &^^1^
               ��
                	��tzcw@zcw:~/bestidiocs2024/c$ gcc hello.o -o hello
zcw@zcw:~/bestidiocs2024/c$ ./hello
hello world!
zcw@zcw:~/bestidiocs2024/c$ gcc -E hello.c -o hello.i
zcw@zcw:~/bestidiocs2024/c$ gcc -S hello.c -o hello.s
zcw@zcw:~/bestidiocs2024/c$ gcc -c hello.s -o hello.o
zcw@zcw:~/bestidiocs2024/c$ file hello.i
hello.i: C source, ASCII text
zcw@zcw:~/bestidiocs2024/c$ file hello.s
hello.s: assembler source, ASCII text
zcw@zcw:~/bestidiocs2024/c$ file hello.o
hello.o: ELF 64-bit LSB relocatable, x86-64, version 1 (SYSV), not stripped
zcw@zcw:~/bestidiocs2024/c$ cat hello.o
��UH��H�H����]�hello world!GCC: (Ubuntu 13.2.0-23ubuntu4) 13.2.0GNU�zRx
U                                                                     E�C
��	hello.cmainputs
                       ���������������� .symtab.strtab.shstrtab.rela.text.data.bss.rodata.comment.note.GNU-stack.note.gnu.property.rela.eh_frame @�0
90k'B�R�j�e@�            &^^1^
               ��
                	��tzcw@zcw:~/bestidiocs2024/c$ gcc hello.o -o hello
zcw@zcw:~/bestidiocs2024/c$ ./hello
hello world!
zcw@zcw:~/bestidiocs2024/c$ ls
a.out  car.c  hello  hello.c  hello.c~  hello.i  hello.o  hello.ouy  hello.s  lib  make  project  test.c  testgdb.c
zcw@zcw:~/bestidiocs2024/c$ rm hello.ouy
zcw@zcw:~/bestidiocs2024/c$ ls
a.out  car.c  hello  hello.c  hello.c~  hello.i  hello.o  hello.s  lib  make  project  test.c  testgdb.c
zcw@zcw:~/bestidiocs2024/c$ cd project
zcw@zcw:~/bestidiocs2024/c/project$ tree
找不到命令 “tree”，但可以通过以下软件包安装它：
sudo snap install tree  # version 1.8.0+pkg-3fd6, or
sudo apt  install tree  # version 2.1.1-2
输入 “snap info tree” 以查看更多版本。
zcw@zcw:~/bestidiocs2024/c/project$ sudo apt install tree
正在读取软件包列表... 完成
正在分析软件包的依赖关系树... 完成
正在读取状态信息... 完成                 
下列【新】软件包将被安装：
  tree
升级了 0 个软件包，新安装了 1 个软件包，要卸载 0 个软件包，有 12 个软件包未被升级。
需要下载 47.1 kB 的归档。
解压缩后会消耗 111 kB 的额外空间。
获取:1 http://mirrors.tuna.tsinghua.edu.cn/ubuntu noble/universe amd64 tree amd64 2.1.1-2ubuntu3 [47.1 kB]
已下载 47.1 kB，耗时 4秒 (13.3 kB/s)
正在选中未选择的软件包 tree。
(正在读取数据库 ... 系统当前共安装有 158970 个文件和目录。)
准备解压 .../tree_2.1.1-2ubuntu3_amd64.deb  ...
正在解压 tree (2.1.1-2ubuntu3) ...
正在设置 tree (2.1.1-2ubuntu3) ...
正在处理用于 man-db (2.12.0-4build2) 的触发器 ...
zcw@zcw:~/bestidiocs2024/c/project$ cat src/main.c
#include <stdio.h>
#include "hello.h"

int main(){
	printf("hello world!\n");
	return 0;
}
zcw@zcw:~/bestidiocs2024/c/project$ pwd
/home/zcw/bestidiocs2024/c/project
zcw@zcw:~/bestidiocs2024/c/project$ cat include/hello/h
cat: include/hello/h: 没有那个文件或目录
zcw@zcw:~/bestidiocs2024/c/project$ cat include/hello.j
cat: include/hello.j: 没有那个文件或目录
zcw@zcw:~/bestidiocs2024/c/project$ cat include/hello.h
#ifndef HELLO_H
#define HELLO_H
/*
 *  func:
 *  param:
 *
 *  return:
 *
 *
 * */
void  say_hello();

#endif
zcw@zcw:~/bestidiocs2024/c/project$ vi include/hello.h
zcw@zcw:~/bestidiocs2024/c/project$ tree
.
├── bin
│   └── hello
├── include
│   └── hello.h
├── Makefile
├── README
└── src
    ├── hello.c
    └── main.c

4 directories, 6 files
zcw@zcw:~/bestidiocs2024/c/project$ git add .
zcw@zcw:~/bestidiocs2024/c/project$ git commit -m "hello.h"
作者身份未知

*** 请告诉我您是谁。

运行

  git config --global user.email "you@example.com"
  git config --global user.name "Your Name"

来设置您账号的缺省身份标识。
如果仅在本仓库设置身份标识，则省略 --global 参数。

fatal: 无法自动探测邮件地址（得到 'zcw@zcw.(none)'）
zcw@zcw:~/bestidiocs2024/c/project$ ls
bin  include  Makefile  README  src
zcw@zcw:~/bestidiocs2024/c/project$ git config --global user.email "3495602139@qq.com"
zcw@zcw:~/bestidiocs2024/c/project$ git config --global user.name "zcw"
zcw@zcw:~/bestidiocs2024/c/project$ gcc src/*.c -o bin/hello
src/hello.c:2:10: fatal error: hello.h: 没有那个文件或目录
    2 | #include "hello.h"
      |          ^~~~~~~~~
compilation terminated.
src/main.c:2:10: fatal error: hello.h: 没有那个文件或目录
    2 | #include "hello.h"
      |          ^~~~~~~~~
compilation terminated.
zcw@zcw:~/bestidiocs2024/c/project$ gcc -Iinclude
gcc: fatal error: no input files
compilation terminated.
zcw@zcw:~/bestidiocs2024/c/project$ gcc -Iinclude src/* -o /bin/hello
/usr/bin/ld: cannot open output file /bin/hello: 权限不够
collect2: error: ld returned 1 exit status
zcw@zcw:~/bestidiocs2024/c/project$ sudo gcc -Iinclude src/* -o /bin/hello
zcw@zcw:~/bestidiocs2024/c/project$ ls
bin  include  Makefile  README  src
zcw@zcw:~/bestidiocs2024/c/project$ cd bin
zcw@zcw:~/bestidiocs2024/c/project/bin$ ls
hello
zcw@zcw:~/bestidiocs2024/c/project/bin$ ./hello
bash: ./hello: 权限不够
zcw@zcw:~/bestidiocs2024/c/project/bin$ sudo ./hello
sudo: ./hello：找不到命令
zcw@zcw:~/bestidiocs2024/c/project/bin$ ls
hello
zcw@zcw:~/bestidiocs2024/c/project/bin$ vim hello
zcw@zcw:~/bestidiocs2024/c/project/bin$ bin/hello
bash: bin/hello: 没有那个文件或目录
zcw@zcw:~/bestidiocs2024/c/project/bin$ ls
hello
zcw@zcw:~/bestidiocs2024/c/project/bin$ git pull
remote: Enumerating objects: 11, done.
remote: Counting objects: 100% (11/11), done.
remote: Compressing objects: 100% (5/5), done.
remote: Total 6 (delta 3), reused 0 (delta 0), pack-reused 0
展开对象中: 100% (6/6), 525 字节 | 525.00 KiB/s, 完成.
来自 https://gitee.com/rocedu/bestidiocs2024
   d651a0b..9d98d83  master     -> origin/master
更新 d651a0b..9d98d83
error: 您对下列文件的本地修改将被合并操作覆盖：
	c/project/include/hello.h
请在合并前提交或贮藏您的修改。
正在终止
zcw@zcw:~/bestidiocs2024/c/project/bin$ 

